home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / misc / libx11inc.lha / X11 / Xm / XmosP.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-02-13  |  5.9 KB  |  202 lines

  1. /* 
  2.  * (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC.
  3.  * ALL RIGHTS RESERVED
  4. */ 
  5. /*   $RCSfile: XmosP.h,v $ $Revision: 1.40 $ $Date: 92/07/30 20:56:28 $ */
  6. /*
  7. *  (c) Copyright 1989, DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
  8. /*
  9. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  10. #ifndef _XmosP_h
  11. #define _XmosP_h
  12.  
  13. #include <Xm/XmP.h>
  14.  
  15. #ifndef NO_MEMMOVE
  16. #ifndef X_NOT_STDC_ENV
  17. #include <stdlib.h> /* Needed for MB_CUR_MAX, mbtowc, mbstowcs and mblen */
  18. #endif
  19. #else
  20. #define memmove( p1, p2, p3 )   bcopy( p2, p1, p3 )
  21. #endif
  22.  
  23. #ifdef BOGUS_MB_MAX  /* some systems don't properly set MB_[CUR|LEN]_MAX */
  24. #undef MB_LEN_MAX
  25. #define MB_LEN_MAX 1 /* temp fix for ultrix */
  26. #undef MB_CUR_MAX
  27. #define MB_CUR_MAX 1 /* temp fix for ultrix */
  28. #endif /* BOGUS_MB_MAX */
  29.  
  30. /**********************************************************************/
  31. /* here we duplicate Xtos.h, since we can't include this private file */
  32.  
  33. #ifdef INCLUDE_ALLOCA_H
  34. #include <alloca.h>
  35. #endif
  36.  
  37. #ifdef CRAY
  38. #define WORD64
  39. #endif
  40.  
  41. /* stolen from server/include/os.h */
  42. #ifndef NO_ALLOCA
  43. /*
  44.  * os-dependent definition of local allocation and deallocation
  45.  * If you want something other than XtMalloc/XtFree for ALLOCATE/DEALLOCATE
  46.  * LOCAL then you add that in here.
  47.  */
  48. #if defined(__HIGHC__)
  49.  
  50. #if HCVERSION < 21003
  51. #define ALLOCATE_LOCAL(size)    alloca(size)
  52. pragma on(alloca);
  53. #else /* HCVERSION >= 21003 */
  54. #define    ALLOCATE_LOCAL(size)    _Alloca(size)
  55. #endif /* HCVERSION < 21003 */
  56.  
  57. #define DEALLOCATE_LOCAL(ptr)  /* as nothing */
  58.  
  59. #endif /* defined(__HIGHC__) */
  60.  
  61.  
  62. #ifdef __GNUC__
  63.  
  64. #ifndef alloca /* gnu itself might have done that already */
  65. #define alloca __builtin_alloca
  66. #endif
  67.  
  68. #define ALLOCATE_LOCAL(size) alloca(size)
  69. #define DEALLOCATE_LOCAL(ptr)  /* as nothing */
  70. #else /* ! __GNUC__ */
  71. /*
  72.  * warning: mips alloca is unsuitable, do not use.
  73.  */
  74. #if defined(vax) || defined(sun) || defined(apollo) || defined(stellar)
  75. /*
  76.  * Some System V boxes extract alloca.o from /lib/libPW.a; if you
  77.  * decide that you don't want to use alloca, you might want to fix it here.
  78.  */
  79. char *alloca();
  80. #define ALLOCATE_LOCAL(size) alloca(size)
  81. #define DEALLOCATE_LOCAL(ptr)  /* as nothing */
  82. #endif /* who does alloca */
  83. #endif /* __GNUC__ */
  84.  
  85. #endif /* NO_ALLOCA */
  86.  
  87. #ifndef ALLOCATE_LOCAL
  88. #define ALLOCATE_LOCAL(size) XtMalloc(size)
  89. #define DEALLOCATE_LOCAL(ptr) XtFree(ptr)
  90. #endif /* ALLOCATE_LOCAL */
  91.  
  92. /* End of Xtos.h */
  93. /*****************/
  94.  
  95.  
  96. #ifdef __cplusplus
  97. extern "C" {
  98. #endif
  99.  
  100.  
  101. #define MATCH_CHAR 'P'  /* referenced in InitPath strings and in the files 
  102.              that uses it (ImageCache.c and Mrmhier.c) */
  103.  
  104. /* OS-dependent file info for VirtKeys */
  105.  
  106. #define XMBINDDIR "XMBINDDIR"
  107. #ifndef XMBINDDIR_FALLBACK
  108. #define XMBINDDIR_FALLBACK "/usr/lib/Xm/bindings"
  109. #endif
  110. #define XMBINDFILE "xmbind.alias"
  111. #define MOTIFBIND ".motifbind"
  112.  
  113. /* Vendor dependent macro for XmCvtXmStringToCT */
  114. /* Sample implementation treats unmapped charsets as locale encoded text. */
  115. #define _XmOSProcessUnmappedCharsetAndText(tag, ctext, sep, outc, outl, prev) \
  116.     processCharsetAndText(XmFONTLIST_DEFAULT_TAG, ctext, sep, outc, outl, prev)
  117.  
  118. /********    Private Function Declarations    ********/
  119. #ifdef _NO_PROTO
  120.  
  121. extern String _XmOSFindPatternPart() ;
  122. extern void _XmOSQualifyFileSpec() ;
  123. extern void _XmOSGetDirEntries() ;
  124. extern void _XmOSBuildFileList() ;
  125. extern int _XmOSFileCompare() ;
  126. extern String _XmOSGetHomeDirName() ;
  127. extern String _XmOSInitPath() ;
  128. extern void _XmSleep() ;
  129. extern int _XmMicroSleep() ;
  130. extern String _XmOSSetLocale() ;
  131. extern XmString _XmOSGetLocalizedString() ;
  132. extern String _XmOSBuildFileName() ;
  133. extern int _XmOSPutenv() ;
  134. #else
  135.  
  136. extern String _XmOSFindPatternPart( 
  137.                         String fileSpec) ;
  138. extern void _XmOSQualifyFileSpec( 
  139.                         String dirSpec,
  140.                         String filterSpec,
  141.                         String *pQualifiedDir,
  142.                         String *pQualifiedPattern) ;
  143. extern void _XmOSGetDirEntries( 
  144.                         String qualifiedDir,
  145.                         String matchPattern,
  146. #if NeedWidePrototypes
  147.                         unsigned int fileType,
  148.                         int matchDotsLiterally,
  149.                         int listWithFullPath,
  150. #else
  151.                         unsigned char fileType,
  152.                         Boolean matchDotsLiterally,
  153.                         Boolean listWithFullPath,
  154. #endif /* NeedWidePrototypes */
  155.                         String **pEntries,
  156.                         unsigned int *pNumEntries,
  157.                         unsigned int *pNumAlloc) ;
  158. extern void _XmOSBuildFileList( 
  159.                         String dirPath,
  160.                         String pattern,
  161. #if NeedWidePrototypes
  162.                         unsigned int typeMask,
  163. #else
  164.                         unsigned char typeMask,
  165. #endif /* NeedWidePrototypes */
  166.                         String **pEntries,
  167.                         unsigned int *pNumEntries,
  168.                         unsigned int *pNumAlloc) ;
  169. extern int _XmOSFileCompare( 
  170.                         XmConst void *sp1,
  171.                         XmConst void *sp2) ;
  172. extern String _XmOSGetHomeDirName() ;
  173. extern String _XmOSInitPath( 
  174.                         String file_name,
  175.                         String env_pathname,
  176.                         Boolean *user_path) ;
  177. extern void _XmSleep( 
  178.                         unsigned int secs) ;
  179. extern int _XmMicroSleep( 
  180.                         long secs) ;
  181. extern String _XmOSSetLocale( 
  182.                         String locale) ;
  183. extern XmString _XmOSGetLocalizedString( 
  184.                         char *reserved,
  185.                         Widget widget,
  186.                         char *resource,
  187.                         String string) ;
  188. extern String _XmOSBuildFileName(
  189.             String file,
  190.             String path) ;
  191. extern int _XmOSPutenv(
  192.                char *string);
  193. #endif /* _NO_PROTO */
  194. /********    End Private Function Declarations    ********/
  195.  
  196. #ifdef __cplusplus
  197. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  198. #endif
  199.  
  200. #endif /* _XmosP_h */
  201. /* DON'T ADD ANYTHING AFTER THIS #endif */
  202.